package com.ruoyi.his.domain;

import java.util.Date;
import java.util.List;

import com.baomidou.mybatisplus.annotation.TableField;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;
import com.ruoyi.common.annotation.Excel;


/**
 * 【请填写功能名称】对象 ods_doctor_all
 * 
 * @author Alan
 * @date 2024-03-22
 */
@Data
public class OdsDoctorAll
{
    private static final long serialVersionUID = 1L;

    /** 主健id */
    private Long id;

    /** 执业备案状态 */
    @Excel(name = "执业备案状态")
    private String status;

    /** 多执业机构是否有效 */
    @Excel(name = "多执业机构是否有效")
    private String isvalid;

    /** 多执业机构失效原因 */
    @Excel(name = "多执业机构失效原因")
    private String reason;

    /** 姓名 */
    @Excel(name = "姓名")
    private String name;

    /** 性别 */
    @Excel(name = "性别")
    private String sex;

    /** 出生日期，字符格式 */
    @Excel(name = "出生日期，字符格式")
    private String birthday;

    /** 身份证号码 */
    @Excel(name = "身份证号码")
    private String idCard;

    /** 多执业机构，保存如:**医院(第二名称:**医院) */
    @Excel(name = "多执业机构，保存如:**医院(第二名称:**医院)")
    private String unitname;

    /** 多执业审批机关 */
    @Excel(name = "多执业审批机关")
    private String organname;

    /** 主要执业机构 */
    @Excel(name = "主要执业机构")
    private String unit;

    /** 有效期开始日期 */
    @Excel(name = "有效期开始日期", width = 30, dateFormat = "yyyy-MM-dd")
    private String vaildtime;

    /** 有效期结束日期 */
    @Excel(name = "有效期结束日期", width = 30, dateFormat = "yyyy-MM-dd")
    private String vaildendtime;

    /** 备案批准日期 */
    @Excel(name = "备案批准日期", width = 30, dateFormat = "yyyy-MM-dd")
    private String ratifyendtime;

    /** 取消备案（失效）日期 */
    @Excel(name = "取消备案", readConverterExp = "失=效")
    private String ratifytime;


    /** 主要执业机构审批机构 */
    @Excel(name = "主要执业机构审批机构")
    private String organ;

    /** 资格证书编码 */
    @Excel(name = "资格证书编码")
    private String qualification;

    /** 执业证书编码  唯一编码 */
    @Excel(name = "执业证书编码  唯一编码")
    private String doctorLicence;

    /** 执业级别 */
    @Excel(name = "执业级别")
    private String parcticelevel;

    /** 执业类别 */
    @Excel(name = "执业类别")
    private String parcticeclass;

    /** 执业范围 */
    @Excel(name = "执业范围")
    private String parcticescope;

    /** 批准时间 */
    @Excel(name = "批准时间", width = 30, dateFormat = "yyyy-MM-dd")
    private String worktime;

    /** 登记号 */
    @Excel(name = "登记号")
    private String registerNumber;

    /** 辖区Code */
    @Excel(name = "辖区Code")
    private String regionCode;

    /** 辖区名称 */
    @Excel(name = "辖区名称")
    private String regionName;

    /** his系统医院编码 */
    @Excel(name = "his系统医院编码")
    private String hospitalId;
    private transient List<String> hospitalIds;

    /** his系统医生编码 */
    @Excel(name = "his系统医生编码")
    private String doctorCode;

    /** 职称 01 主任医师 02 副主任医师 03 主治医师 04 医师 05 助理医师 06 理疗师  http非必填 */
    @Excel(name = "职称 01 主任医师 02 副主任医师 03 主治医师 04 医师 05 助理医师 06 理疗师  http非必填")
    private String technicalTitle;

    /** 抗菌药物处方权默认为 0， 0:无抗菌药物处方权 1:非限制级 2:限制级 3:特殊级   注册页选填 http必填  */
    @Excel(name = "抗菌药物处方权默认为 0， 0:无抗菌药物处方权 1:非限制级 2:限制级 3:特殊级   注册页选填 http必填 ")
    private Long antibiosisAuthority;

    /** 麻醉药品和第一类精神药品处方资 格默认为 0， 0:无 1:有  注册页可选填   http可选填  */
    @Excel(name = "麻醉药品和第一类精神药品处方资 格默认为 0， 0:无 1:有  注册页可选填   http可选填 ")
    private Long anestheticAuthority;

    /** 医生手机号 */
    @Excel(name = "医生手机号")
    private String mobile;

    /** 任职资格 */
    @Excel(name = "任职资格")
    private String workcpet;

    /** 学历 */
    @Excel(name = "学历")
    private String antecedent;

    /** 所学专业 */
    @Excel(name = "所学专业")
    private String specialty;

    /** 区划名称 */
    @Excel(name = "区划名称")
    private String regionname;

    /** 签名 */
    @Excel(name = "签名")
    private String signature;
    private transient List<String> signatures;

    @TableField(exist = false)
    private String username;
    @TableField(exist = false)
    private String password;

    /** 0默认这位医生所属医院未接入系统 1已接入系统 */
    @Excel(name = "0默认这位医生所属医院未接入系统 1已接入系统")
    private Integer intonum;

    /** $column.columnComment */
    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    @Excel(name = "更新时间", width = 30, dateFormat = "yyyy-MM-dd hh:mm:ss")
    private Date updateTime;
    /**
     * 创建时间 *
     */
    @JsonFormat(pattern = "yyyy-MM-dd hh:mm:ss")
    @Excel(name = "创建时间", width = 30, dateFormat = "yyyy-MM-dd hh:mm:ss")
    private Date createTime;

    /** 是否重复 */
    @TableField(exist = false)
    private Integer reCount;
}
